#pragma once
#include "ridefactory.h"
#include "sgrotatearoundpoint.h"
//#include "CTexture.h"

class ScramblerFactory :
	public RideFactory
{
public:
	ScramblerFactory(void);
	~ScramblerFactory(void);

	virtual CSgObject* Create(void);
	virtual void AdvanceTime(const DWORD &, const DWORD &);

private:
		CSgPtr<CSgComposite> m_Scrambler;
//		void CreateFloor();			//Mesh for floor to walk on
		void CreateCenter();		//Creates center axis
		CSgPtr<CSgComposite> CreateArms();
		CSgPtr<CSgComposite> CreateOutSide();
		CSgPtr<CSgComposite> CreateSeatConnect();
		CSgPtr<CSgComposite> CreateSeat();
		CSgPtr<CSgComposite> Arm(double h, double l, double w, double w2, CTexture* tex); //arm base
		CSgPtr<CSgComposite> FootHole();

		//variables
		int m_rotateOffset;
		int m_counter;
		CSgPtr<CSgRotateAroundPoint> m_rotateAroundC;		//rotate around center
		CSgPtr<CSgRotateAroundPoint> m_rotateAroundO[3];		//rotates outside pieces
		CTexture *m_TexCenter;
		CTexture *m_texSeperators;
		CTexture *m_texArms;
		CTexture *m_texPoles;
		CTexture *m_texSeats;

		

};
